package com.zhl.scheduling.model.entity;

import java.util.Date;
import javax.persistence.*;

public class Algorithm {
    /**
     * 算法id
     */
    @Id
    @Column(name = "algorithm_id")
    private Integer algorithmId;

    /**
     * 算法名称
     */
    @Column(name = "algorithm_name")
    private String algorithmName;

    /**
     * 算法支持的调度问题类型;JSP或者FJSP等
     */
    @Column(name = "algorithm_problem_type")
    private String algorithmProblemType;

    /**
     * 算法支持的调度目标类型;单目标或者多目标
     */
    @Column(name = "algorithm_goals_type")
    private String algorithmGoalsType;

    /**
     * 算法支持的动静态类型;静态或者动态
     */
    @Column(name = "algorithm_dynamic_static_type")
    private String algorithmDynamicStaticType;

    /**
     * 算法状态;整数0表示不可用，1表示可用
     */
    @Column(name = "algorithm_status")
    private Integer algorithmStatus;

    /**
     * 算法描述
     */
    @Column(name = "algorithm_description")
    private String algorithmDescription;

    /**
     * 创建时间
     */
    @Column(name = "CREATE_TIME")
    private Date createTime;

    /**
     * 更新时间
     */
    @Column(name = "UPDATED_TIME")
    private Date updatedTime;

    /**
     * 获取算法id
     *
     * @return algorithm_id - 算法id
     */
    public Integer getAlgorithmId() {
        return algorithmId;
    }

    /**
     * 设置算法id
     *
     * @param algorithmId 算法id
     */
    public void setAlgorithmId(Integer algorithmId) {
        this.algorithmId = algorithmId;
    }

    /**
     * 获取算法名称
     *
     * @return algorithm_name - 算法名称
     */
    public String getAlgorithmName() {
        return algorithmName;
    }

    /**
     * 设置算法名称
     *
     * @param algorithmName 算法名称
     */
    public void setAlgorithmName(String algorithmName) {
        this.algorithmName = algorithmName;
    }

    /**
     * 获取算法支持的调度问题类型;JSP或者FJSP等
     *
     * @return algorithm_problem_type - 算法支持的调度问题类型;JSP或者FJSP等
     */
    public String getAlgorithmProblemType() {
        return algorithmProblemType;
    }

    /**
     * 设置算法支持的调度问题类型;JSP或者FJSP等
     *
     * @param algorithmProblemType 算法支持的调度问题类型;JSP或者FJSP等
     */
    public void setAlgorithmProblemType(String algorithmProblemType) {
        this.algorithmProblemType = algorithmProblemType;
    }

    /**
     * 获取算法支持的调度目标类型;单目标或者多目标
     *
     * @return algorithm_goals_type - 算法支持的调度目标类型;单目标或者多目标
     */
    public String getAlgorithmGoalsType() {
        return algorithmGoalsType;
    }

    /**
     * 设置算法支持的调度目标类型;单目标或者多目标
     *
     * @param algorithmGoalsType 算法支持的调度目标类型;单目标或者多目标
     */
    public void setAlgorithmGoalsType(String algorithmGoalsType) {
        this.algorithmGoalsType = algorithmGoalsType;
    }

    /**
     * 获取算法支持的动静态类型;静态或者动态
     *
     * @return algorithm_dynamic_static_type - 算法支持的动静态类型;静态或者动态
     */
    public String getAlgorithmDynamicStaticType() {
        return algorithmDynamicStaticType;
    }

    /**
     * 设置算法支持的动静态类型;静态或者动态
     *
     * @param algorithmDynamicStaticType 算法支持的动静态类型;静态或者动态
     */
    public void setAlgorithmDynamicStaticType(String algorithmDynamicStaticType) {
        this.algorithmDynamicStaticType = algorithmDynamicStaticType;
    }

    /**
     * 获取算法状态;整数0表示不可用，1表示可用
     *
     * @return algorithm_status - 算法状态;整数0表示不可用，1表示可用
     */
    public Integer getAlgorithmStatus() {
        return algorithmStatus;
    }

    /**
     * 设置算法状态;整数0表示不可用，1表示可用
     *
     * @param algorithmStatus 算法状态;整数0表示不可用，1表示可用
     */
    public void setAlgorithmStatus(Integer algorithmStatus) {
        this.algorithmStatus = algorithmStatus;
    }

    /**
     * 获取算法描述
     *
     * @return algorithm_description - 算法描述
     */
    public String getAlgorithmDescription() {
        return algorithmDescription;
    }

    /**
     * 设置算法描述
     *
     * @param algorithmDescription 算法描述
     */
    public void setAlgorithmDescription(String algorithmDescription) {
        this.algorithmDescription = algorithmDescription;
    }

    /**
     * 获取创建时间
     *
     * @return CREATE_TIME - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取更新时间
     *
     * @return UPDATED_TIME - 更新时间
     */
    public Date getUpdatedTime() {
        return updatedTime;
    }

    /**
     * 设置更新时间
     *
     * @param updatedTime 更新时间
     */
    public void setUpdatedTime(Date updatedTime) {
        this.updatedTime = updatedTime;
    }
}